home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / compuserve-file-archive / 02 Help & Utilities / FILUTI.BIN (.txt) < prev    next >
Commodore BASIC  |  2019-04-13  |  8KB  |  219 lines

  1. 5 POKE56,40:POKE55,.:CLR:GOTO2010
  2. 10 Z$=CHR$(.):AS=51200:PE=51456:U1=51712:PRINT"[147][142]"
  3. 11 SYS49427:SYS50299:BC=.:X$="0123456789[193][194][195][196][197][198]":Q$=CHR$(34):POKE176,.:POKE177,.
  4. 12 PRINT"ENTER DISK DRIVE DEVICE NUMBER."
  5. 13 PRINT"(ENTER 0 TO EXIT.)"
  6. 14 PRINT"  8[145]":INPUTD:IFD=.THEN68
  7. 15 IFD<4ORD>30THENPRINT"[147]ILLEGAL DEVICE NUMBER":GOTO12
  8. 16 POKE2,36:POKE184,8:POKE185,.:POKE186,D
  9. 17 POKE183,1:POKE187,2:POKE188,.:SYS65472
  10. 18 IFPEEK(783)AND1THENCLOSE8:PRINT"[147]?DEVICE";D;"[157] NOT PRESENT":GOTO12
  11. 19 CLOSE8:OPEN15,D,15:PRINT"[147]";
  12. 20 PRINT"ENTER FILENAME (PRESS RETURN TO EXIT)."
  13. 25 F$="":PRINT:INPUTF$:IFF$=""THEN68
  14. 26 OPEN8,D,8,F$:GOSUB550:IFFTHENCLOSE8:GOTO20
  15. 27 PRINT"PRESS P TO PROCESS FILE."
  16. 28 PRINT"PRESS C TO CHECK FILE FIRST."
  17. 29 GETA$:IFA$="P"THEN32
  18. 30 IFA$="C"THEN1000
  19. 31 GOTO29
  20. 32 GOSUB500:CLOSE8:OPEN8,D,8,"#":PRINT#15,"U1";8;0;18;S
  21. 35 PRINT#15,"B-P";8;P+28
  22. 37 GET#8,A$:GET#8,B$:A=ASC(A$+Z$):B=ASC(B$+Z$)
  23. 38 NB=A+256*B:POKE158,A:POKE159,B
  24. 40 PRINT#15,"B-P";8;P+1
  25. 45 GET#8,A$:GET#8,B$:TT=ASC(A$+Z$):SS=ASC(B$+Z$)
  26. 50 POKEU1,TT:POKEU1+1,SS
  27. 55 CLOSE8:OPEN8,D,0,"$$":FORI=1TO34:GET#8,A$:NEXT
  28. 56 GET#8,A$:GET#8,B$:NF=ASC(A$+Z$)+256*ASC(B$+Z$)
  29. 57 CLOSE8
  30. 58 PRINT"FILE CONTAINS";NB;"BLOCKS."
  31. 59 PRINT"THERE ARE";NF;"FREE BLOCKS ON DISK."
  32. 61 IFNB>NFTHEN71
  33. 62 PRINT"DO YOU WANT A COPY OF THE FILE (Y/N)?"
  34. 63 GETA$:IFA$="Y"THEN85
  35. 64 IFA$="N"THEN100
  36. 65 GOTO63
  37. 68 CLOSE8:CLOSE15:POKE56,160:END
  38. 71 PRINT"(INSUFFICIENT ROOM FOR COPY OF FILE)"
  39. 72 PRINT"DO YOU WANT TO PROCEED (Y/N)?"
  40. 73 GETA$:IFA$="Y"THEN100
  41. 74 IFA$="N"THEN68
  42. 75 GOTO73
  43. 85 PRINT"ENTER FILENAME FOR COPY."
  44. 87 FC$="":PRINT:INPUTFC$:IFFC$=""THEN85
  45. 90 PRINT#15,"C0:";FC$;"=";F$
  46. 92 PRINT"ONE MOMENT PLEASE..."
  47. 95 GOSUB550:IFFTHEN85
  48. 100 F1=.:PRINT"[147]IS FILE IN ASCII OR PETASCII (A/P)?"
  49. 105 GETA$:IFA$="A"THEN140
  50. 110 IFA$="P"THEN120
  51. 115 GOTO105
  52. 120 POKE2,130:PRINT"CONVERT TO ASCII (Y/N)?"
  53. 125 GETA$:IFA$="Y"THENGOSUB800:GOTO157
  54. 130 IFA$="N"THEN160
  55. 135 GOTO125
  56. 140 POKE2,128:PRINT"CONVERT TO PETASCII (Y/N)?"
  57. 145 GETA$:IFA$="Y"THENGOSUB600:GOTO157
  58. 150 IFA$="N"THEN160
  59. 155 GOTO145
  60. 157 POKE2,PEEK(2)OR1:F1=1
  61. 160 PRINT"DO YOU WANT A LINEFEED AFTER"
  62. 162 PRINT"EACH CARRIAGE RETURN (Y/N)?"
  63. 165 GETA$:IFA$="Y"THENPOKE2,PEEK(2)OR64:GOTO180
  64. 170 IFA$="N"THEN180
  65. 175 GOTO165
  66. 180 IFF1THEN200
  67. 181 PRINT"DO YOU WANT TO REMOVE ALL CONTROL"
  68. 182 PRINT"CHARACTERS, OTHER THAN BACKSPACES, CR'S,"
  69. 183 PRINT"LF'S, CONTROL G'S, AND DELETES (Y/N)?"
  70. 185 GETA$:IFA$="Y"THENPOKE2,PEEK(2)AND127:GOTO200
  71. 190 IFA$="N"THEN200
  72. 195 GOTO185
  73. 200 PRINT"[147]ONE MOMENT PLEASE..."
  74. 202 PRINT"BLOCKS IN ORIGINAL FILE  =";NB
  75. 203 PRINT"BLOCKS IN PROCESSED FILE = 0"
  76. 205 OPEN8,D,8,"#"
  77. 210 PRINT#15,"U1";8;0;TT;SS
  78. 212 SYS49152
  79. 215 SYS50006
  80. 250 IFPEEK(781)=.THEN289
  81. 260 IFPEEK(783)AND1THENPRINT:GOTO287
  82. 270 PRINT#15,"U1";8;0;18;S
  83. 272 L=PEEK(176):H=PEEK(177)
  84. 273 PRINT#15,"B-P";8;P+28
  85. 275 PRINT#8,CHR$(L);:PRINT#8,CHR$(H);
  86. 277 PRINT#15,"U2";8;0;18;S
  87. 280 PRINT:PRINT"PROCESSED FILE CONTAINS FEWER BLOCKS."
  88. 282 PRINT"VALIDATING TO FREE UNUSED BLOCKS..."
  89. 285 PRINT#15,"V0:":GOSUB550
  90. 287 PRINT"...DONE.":POKE56334,17:CLOSE8:CLOSE15:GOTO11
  91. 289 CLOSE8:OPEN8,D,8,F$+",A"
  92. 290 PRINT:PRINT"PROCESSED FILE CONTAINS MORE BLOCKS."
  93. 291 PRINT"APPENDING ADDITIONAL DATA...[145][145][145][145]"
  94. 292 BC=PEEK(176)+256*PEEK(177)
  95. 293 SYS49940:BC=BC+1:POKE154,3:PRINT,,"[145]   "
  96. 294 PRINT,,"[145]";BC
  97. 295 IFPEEK(781)=.THEN293
  98. 298 PRINT"":GOTO287
  99. 300 Z%=Z/16+1:ZL=(ZAND15)+1
  100. 310 H$="$"+MID$(X$,Z%,1)+MID$(X$,ZL,1)
  101. 320 RETURN
  102. 400 M=256:F=.:N=.:A=.:IFASC(A$)=36THEN415
  103. 405 A=VAL(A$):IFA<.ORA>255THEN445
  104. 410 RETURN
  105. 415 B=ASC(RIGHT$(A$,N+1))AND127:IFB>70THEN445
  106. 420 IFB=36THEN440
  107. 425 RESTORE:B=B-47:FORI=.TOB:READY:NEXT
  108. 430 IFY<0THEN445
  109. 435 A=A+Y*16^N:N=N+1:GOTO415
  110. 440 IFA<MTHENRETURN
  111. 445 F=1:RETURN
  112. 490 DATA-1,0,1,2,3,4,5,6,7,8,9,-1,-1,-1
  113. 495 DATA-1,-1,-1,-1,10,11,12,13,14,15
  114. 500 PRINT#15,"M-R";CHR$(144);CHR$(2);CHR$(5)
  115. 510 GET#15,A$:S=ASC(A$+Z$):GET#15,A$:GET#15,A$
  116. 520 GET#15,A$:GET#15,A$:P=ASC(A$+Z$)
  117. 530 RETURN
  118. 550 INPUT#15,A,B$,C,E
  119. 560 F=.:IFA>19THENPRINT"[147]";A:PRINT:PRINTB$:PRINT:PRINTC,E:F=1
  120. 570 RETURN
  121. 600 PRINT"[147][193] STANDARD [193][211][195][201][201] TO [208][197][212][193][211][195][201][201] DEFAULT"
  122. 605 PRINT"TRANSLATION TABLE IS USED, BUT YOU MAY"
  123. 610 PRINT"WISH TO CHANGE SOME ENTRIES, SUCH AS"
  124. 615 PRINT"92, 95, 96, 123, 124, 125, AND 126."
  125. 620 PRINT"[212]O DISPLAY THE [208][197][212][193][211][195][201][201] EQUIVALENT OF AN"
  126. 625 PRINT"[193][211][195][201][201] VALUE, TYPE IN THE VALUE AND PRESS"
  127. 630 PRINT"[210][197][212][213][210][206].  [208]RECEDE THE VALUE WITH A $ FOR"
  128. 635 PRINT"HEXADECIMAL ENTRY.  [201]F THE TABLE IS"
  129. 640 PRINT"SATIFACTORY, BEFORE OR AFTER MAKING"
  130. 645 PRINT"CHANGES, JUST PRESS [210][197][212][213][210][206] TO PROCEED."
  131. 646 PRINT"           [[208][210][197][211][211] [210][197][212][213][210][206]]";
  132. 647 GETA$:IFA$=CHR$(13)THEN650
  133. 648 GOTO647
  134. 650 PRINT"[147][201]F THE [208][197][212][193][211][195][201][201] VALUE IS ACCEPTABLE,"
  135. 655 PRINT"JUST PRESS [210][197][212][213][210][206].  [207]THERWISE, ENTER A"
  136. 660 PRINT"NEW VALUE.  [197]NTERING R AT ANY PROMPT"
  137. 665 PRINT"WILL RESET TO THE DEFAULT TABLE."
  138. 670 PRINT"           [[208][210][197][211][211] [210][197][212][213][210][206]]";
  139. 673 GETA$:IFA$=CHR$(13)THENPRINT"[147]":GOTO680
  140. 675 GOTO673
  141. 680 PRINT"    [197][206][212][197][210] R [212][207] [210][197][211][197][212] [212][207] [196][197][198][193][213][204][212] [212][193][194][204][197]"
  142. 681 PRINT"    [163][163][163][163][163] [163] [163][163] [163][163][163][163][163] [163][163] [163][163][163][163][163][163][163] [163][163][163][163][163]"
  143. 682 PRINT"[197][206][212][197][210] [193][211][195][201][201] [214][193][204][213][197]."
  144. 683 PRINT"([201][198] [212][193][194][204][197] [207][203], [208][210][197][211][211] [210][197][212][213][210][206] [212][207] [208][210][207][195][197][197][196].)"
  145. 685 A$="":PRINT:INPUTA$:IFASC(A$+Z$)=82THENSYS49427:PRINT"[147][210][197][211][197][212]":GOTO680
  146. 687 IFA$=""THENPRINT"[147][142]";:RETURN
  147. 690 GOSUB400:IFA>127ORFTHENPRINT"[147][201][204][204][197][199][193][204] [197][206][212][210][217]":GOTO680
  148. 692 B=A:Z=PEEK(B+AS):GOSUB300
  149. 693 J$="":IFZ>31ANDZ<128ORZ>159THENJ$=" = "+Q$+CHR$(Z)+Q$
  150. 695 PRINT"[208][197][212][193][211][195][201][201] [214][193][204][213][197] =";Z;" = ";H$;J$
  151. 697 A$=MID$(STR$(Z),2)
  152. 700 PRINT"[197][206][212][197][210] [206][197][215] [208][197][212][193][211][195][201][201] [214][193][204][213][197]."
  153. 705 PRINT"([207][210] [208][210][197][211][211] [210][197][212][213][210][206] [198][207][210] [206][207] [195][200][193][206][199][197].)"
  154. 710 PRINT:INPUTA$:IFASC(A$+Z$)=82THENSYS49427:PRINT"[210][197][211][197][212]":GOTO692
  155. 715 GOSUB400:IFFTHENPRINT"[201][204][204][197][199][193][204] [197][206][212][210][217]":GOTO697
  156. 720 POKEAS+B,A:PRINT"[147]":GOTO680
  157. 800 PRINT"[147][193] STANDARD [208][197][212][193][211][195][201][201] TO [193][211][195][201][201] DEFAULT"
  158. 805 PRINT"TRANSLATION TABLE IS USED, BUT YOU MAY"
  159. 810 PRINT"WISH TO CHANGE SOME ENTRIES, SUCH AS"
  160. 815 PRINT"92, 95, 164, 186, 223, 221, AND 169."
  161. 820 PRINT"[212]O DISPLAY THE [193][211][195][201][201] EQUIVALENT OF A"
  162. 825 PRINT"[208][197][212][193][211][195][201][201] VALUE, TYPE IN THE VALUE AND"
  163. 830 PRINT"PRESS [210][197][212][213][210][206].  [208]RECEDE THE VALUE WITH A"
  164. 835 PRINT"$ FOR HEXADECIMAL ENTRY.  [201]F THE TABLE"
  165. 840 PRINT"IS SATIFACTORY, BEFORE OR AFTER MAKING"
  166. 845 PRINT"CHANGES, JUST PRESS [210][197][212][213][210][206] TO PROCEED."
  167. 846 PRINT"           [[208][210][197][211][211] [210][197][212][213][210][206]]";
  168. 847 GETA$:IFA$=CHR$(13)THEN850
  169. 848 GOTO847
  170. 850 PRINT"[147][201]F THE [208][197][212][193][211][195][201][201] VALUE IS ACCEPTABLE,"
  171. 855 PRINT"JUST PRESS [210][197][212][213][210][206].  [207]THERWISE, ENTER A"
  172. 860 PRINT"NEW VALUE.  [197]NTERING R AT ANY PROMPT"
  173. 865 PRINT"WILL RESET TO THE DEFAULT TABLE."
  174. 870 PRINT"           [[208][210][197][211][211] [210][197][212][213][210][206]]";
  175. 873 GETA$:IFA$=CHR$(13)THENPRINT"[147]":GOTO880
  176. 875 GOTO873
  177. 880 PRINT"    [197][206][212][197][210] R [212][207] [210][197][211][197][212] [212][207] [196][197][198][193][213][204][212] [212][193][194][204][197]"
  178. 881 PRINT"    [163][163][163][163][163] [163] [163][163] [163][163][163][163][163] [163][163] [163][163][163][163][163][163][163] [163][163][163][163][163]"
  179. 882 PRINT"[197][206][212][197][210] [208][197][212][193][211][195][201][201] [214][193][204][213][197]."
  180. 883 PRINT"([201][198] [212][193][194][204][197] [207][203], [208][210][197][211][211] [210][197][212][213][210][206] [212][207] [208][210][207][195][197][197][196].)"
  181. 885 A$="":PRINT:INPUTA$:IFASC(A$+Z$)=82THENSYS49427:PRINT"[147][210][197][211][197][212]":GOTO880
  182. 887 IFA$=""THENPRINT"[147][142]";:RETURN
  183. 890 GOSUB400:IFFTHENPRINT"[147][201][204][204][197][199][193][204] [197][206][212][210][217]":GOTO880
  184. 892 B=A:Z=PEEK(B+PE):GOSUB300
  185. 893 J$="":IFZ>31ANDZ<128ORZ>159THENJ$=" = "+Q$+CHR$(Z)+Q$
  186. 895 PRINT"[193][211][195][201][201] [214][193][204][213][197] =";Z;" = ";H$;J$
  187. 897 A$=MID$(STR$(Z),2)
  188. 900 PRINT"[197][206][212][197][210] [206][197][215] [193][211][195][201][201] [214][193][204][213][197]."
  189. 905 PRINT"([207][210] [208][210][197][211][211] [210][197][212][213][210][206] [198][207][210] [206][207] [195][200][193][206][199][197].)"
  190. 910 PRINT:INPUTA$:IFASC(A$+Z$)=82THENSYS49427:PRINT"[210][197][211][197][212]":GOTO892
  191. 915 GOSUB400:IFA>127ORFTHENPRINT"[201][204][204][197][199][193][204] [197][206][212][210][217]":GOTO897
  192. 920 POKEPE+B,A:PRINT"[147]":GOTO880
  193. 1000 PRINT"[147]PRESS F1 TO START PRINTING TO SCREEN."
  194. 1010 PRINT"PRESS F3 TO STOP PRINTING TO SCREEN."
  195. 1020 PRINT"PRESS CONTROL KEY TO SLOW SCROLLING."
  196. 1030 PRINT"PRESS RETURN WHEN FINISHED CHECKING."
  197. 1040 GETA$:IFA$=CHR$(133)THEN1120
  198. 1050 IFA$=CHR$(13)THEN1070
  199. 1060 GOTO1040
  200. 1070 PRINT"[147][142]PRESS P TO PROCESS FILE."
  201. 1080 PRINT"PRESS X TO EXIT."
  202. 1090 GETA$:IFA$="X"THEN68
  203. 1100 IFA$="P"THENCLOSE8:OPEN8,D,8,F$:GOTO32
  204. 1110 GOTO1090
  205. 1120 PRINT"[147]"
  206. 1130 SYS50240:IFPEEK(144)THEN1150
  207. 1140 PRINT"[154][146]";:GOTO1070
  208. 1150 PRINT:PRINT"[146][154]              [197][206][196] [207][198] [198][201][204][197]"
  209. 1155 PRINT"              [163][163][163] [163][163] [163][163][163][163]"
  210. 1160 PRINT"[208][210][197][211][211] [210][197][212][213][210][206]."
  211. 1170 GETA$:IFA$=CHR$(13)THEN1070
  212. 1180 GOTO1170
  213. 2010 PRINT"[147]ONE MOMENT PLEASE..."
  214. 2020 P=PEEK(45)+256*PEEK(46)-1
  215. 2030 IFPEEK(P)THENP=P-1:GOTO2030
  216. 2040 S=49152:P=P-1158
  217. 2050 FORI=.TO1158:POKES+I,PEEK(P+I):NEXT
  218. 2060 POKE2069,48:GOTO10
  219.